package com.sxbbc.common.core.entity.jz;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sxbbc.common.core.enums.OrderTypeEnums;
import lombok.Data;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 养鸡订单
 * </p>
 *
 * @author 
 * @since 2020-04-15
 */
@Data
public class ChickenOrder implements Serializable {


    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 用户id
     */
    private Integer cid;
    /**
     * 商家id
     */
    private Integer bid;

    /**
     * 订单类型 见枚举 {@link OrderTypeEnums}
     */
    private Integer orderType;

    /**
     * 订单编号
     */
    private String orderCode;

    /**
     * 第三方交易单号
     */
    private String transCode;

    /**
     * 订单状态   0 待支付 1 已支付,孵化中 2 已完成
     */
    private Integer orderStatus;

    /***
     * 鸡舍id
     */
    private Integer crId;

    /***
     * 购买数量
     */
    private Integer buyNum;

    /***
     * 已挂售数量
     */
    private  Integer sellNum;

    /***
     * 提鸡券数量
     */
    private  Integer couponNum;

    /***
     * 创业积分
     */
    private  BigDecimal point;

    /**
     * 支付单号
     */
    private String payCode;

    /**
     * 支付方式 见枚举PaytypeEnums
     */
    private Integer payType;

    /**
     * 支付金额
     */
    private BigDecimal payMoney;

    /**
     * 下单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    /**
     * 确认去支付时间
     */
    private Date confirmTime;

    /**
     * 订单来源渠道 见枚举LoginChannelEnums
     */
    private Integer fromChannel;


    /**
     * 支付来源渠道 见枚举PayChannlEnums
     */
    private Integer payChannel;

    /**
     * 支付截止时间
     */
    private Date payendTime;

    /**
     * 支付完成时间
     */
    private Date payTime;

    /**
     * 订单取消时间
     */
    private Date cancelTime;

    /**
     * 鸡苗单价
     */
    private  BigDecimal price;

    /**
     * 卖鸡单价
     */
    private  BigDecimal salePrice;

    /**
     * 编号
     */
    private  String number;

    /**
     * 基金的直推间推奖励是否一次性发放完成  0 否 1 是
     */
    private  Integer rewardFlag;

    @TableField(exist = false)
    private String payTypeName;

    @TableField(exist = false)
    private String orderTypeName;


    @TableField(exist = false)
    private String orderStatusName;

    @TableField(exist = false)
    private String queryPayTime;

    @TableField(exist = false)
    private String queryStartPayTime;

    @TableField(exist = false)
    private String queryEndPayTime;

    @TableField(exist = false)
    private String nickName;


    @TableField(exist = false)
    private Integer level;

    @TableField(exist = false)
    private String cusLevelName;

    /**
     * 孵化总天数
     */
    @TableField(exist = false)
    private Integer totalDay;
}
